package com.cc.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.cc.entity.User;

public interface UserMapper {

    // 一、增删改
    public Integer insertUser(User user);
    public boolean updateUserById(User user);
    public void deleteUser(int id);

    // 二、批量添加
    // 2.foreach批量添加
    public Integer insertUserBatch(List<User> user);


    // 三、参数处理
    // 1.单个参数步做任何出错 preparedStatement ?
    public User selectUser(int id);

    // 2.多个参数
    public User findUserByIdAndUserName(@Param("id")Integer id,@Param("userName")String userName,
            @Param("tableName") String tblName);
//    public User findUserByIdAndUserName(Integer id, String userName, String tblName);

    // 3、entity，pojo
    // 4、map集合 ---(多表几个字段(5)，不是经常要用)
    public User findUserByCondition(Map<String, Object> map);
  //5、参数为集合List   根据给定的几个id值  查询该这些id用户信息
    List<User> getUserList(@Param("ids") List<Integer> ids);

    // 6、鉴别器（了解）
    public User findByIdDiscriminator(Integer id);
    
   //7.多个参数延迟加载
    public User selectUser2(int uid1,int uid2);

}
